/***********************************************


	>	Author: SuperDian
	>	Mail: tech-sky@outlook.com
	>	Create Time: 2016年03月15日 星期二 13时56分51秒
	>	File Name: 617C.cc

***********************************************/
#include <cstdio>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <cstring>

using namespace std;

int n;
long long xt,yt,x2,y2;

struct node
{
	long long x,y;
	long long dis;
	bool operator <(const node &a)const{
		return dis<a.dis;
	}
}Node[2100];

int main()
{
	cin >> n >> xt >> yt >> x2 >> y2;
	for(int i=0;i<n;i++)
	{
		cin >> Node[i].x >> Node[i].y;
		Node[i].dis  = (xt-Node[i].x)*(xt-Node[i].x)+(yt-Node[i].y)*(yt-Node[i].y);
	}
	sort(Node,Node+n);
	long long Ans = Node[n-1].dis;
	long long tmp = 0;
	for(int i=n-1;i>=0;i--)
	{
		tmp = max(tmp,(x2-Node[i].x)*(x2-Node[i].x)+(y2-Node[i].y)*(y2-Node[i].y));
		if(i)
		{
			Ans = min(Ans,tmp+Node[i-1].dis);
		}
		else{
			Ans = min(Ans,tmp);	
		}
	}
	cout << Ans << endl;
	return 0;
}

